package com.ray.activiti.service;


import java.util.List;
import java.util.Map;

import com.ray.activiti.table.entity.ExtendActBusiness;
import com.zjhc.flyhong.common.function.operator.LoginUser;

/**
 * 业务流程  对应的 业务表
 * 
 * @Auther ray  qray686898@163.com
 * @Date 2017/12/28
 * @代码参考或来自  https://github.com/huangxianyuan/hxyFrame
 */
public interface ExtendActBusinessService {
	
	ExtendActBusiness queryObject(String id);
	
	List<ExtendActBusiness> queryList(Map<String, Object> map);

	/**
	 * 根据实体类条件查询 业务树
	 * @param extendActBusinessEntity
	 * @return
	 */
	List<ExtendActBusiness> queryListByBean(ExtendActBusiness extendActBusinessEntity,LoginUser currentUser);

	int queryTotal(Map<String, Object> map);

	int delete(String id);
	
	void deleteBatch(String[] ids);

	/**
	 * 保存和更新
	 * @param extendActBusinessEntity
	 * @return
	 */
	int edit(ExtendActBusiness extendActBusinessEntity,LoginUser currentUser);

	

	/**
	 * 根据extend_act_model中的modelid查询对应的业务
	 * @param modelId
	 * @return
	 */
	ExtendActBusiness queryActBusByModelId(String modelId);

	/**
	 * 根据业务id查询该业务的所有回调
	 * @param parentId
	 * @return
	 */
	List<Map<String,Object>> queryCalBackByPid(String parentId);

	/**
	 * 根据流程key查询
	 * @return
	 */
	ExtendActBusiness queryByActKey(String actKey);


}
